package CarroServ;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import netbula.ORPC.rpc_err;

public class CarroServ extends CarroRPC_svcb {
	
	public static void main(String[] args) {
		System.out.println("Iniciando o servidor de carros.");
		CarroServ server = new CarroServ();
		try {
			server.run();
			System.out.println("Servidor de carros inicializado com sucesso!");
		} catch (rpc_err e) {
	        System.err.println("ERRO no servidor de carros: " + e);
	        e.printStackTrace(System.out);
		}

	}
	
	private Map<String, Carro> carros;
	
	public CarroServ(){
		carros = new HashMap<String, Carro>();
	}
	
	@Override
	public void cadastrar(Carro carro) {
		carros.put(carro.getPlaca(),carro);
	}

	@Override
	public void remover(Carro carro) {
		carros.remove(carro.getPlaca());
	}

	@Override
	public Carro selecionarPorPlaca(String placa) {
		Carro retorno = carros.get(placa);
		
		return retorno == null ? new Carro() : retorno;
	}

	@Override
	public Carros selecionarTodos() {
		Carros retorno = new Carros();
		retorno.value = carros.values().toArray(new Carro[0]);
		return retorno;
	}

}
